package com.vhall.component.entity.room.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.entity.room.enums.RoomAuditStatusEnum;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * RoomAuditVO-
 *
 * @author xing.wang
 * @date 2022/9/27
 */
@Data
public class RoomAuditVO extends CreateRoomVO implements Serializable {

    /**
     * 审核状态
     * 审核状态: 0|待审核,-1|审核驳回,1|审核通过,-2|审核封禁
     * <p>
     * {@link RoomAuditStatusEnum}
     */
    @NotNull(message = "进行审核时房间审核状态不能为空")
    @ParamName(value = "audit_status")
    @JsonProperty(value = "audit_status")
    private Integer auditStatus;
    /**
     * 审核备注
     * 审核备注不能超过100个字符
     */
    @ParamName(value = "audit_note")
    @JsonProperty(value = "audit_note")
    @Size(max = 100, message = "审核备注不能超过100个字")
    private String auditNote;

    /**
     * 直播海报图片地址
     */
    @ParamName("image")
    @JsonProperty("image")
    @Pattern(regexp = "(\\\\s)?|(http(s)?://([\\w-]+\\.)+[\\w-]+[:]?([\\d]+)*(/[\\w- :./?%&=]*)?)", message = "图片地址格式不正确")
    private String imageUrl;

}
